<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      div {
        position: absolute;
        left: 0;
        width: 100px;
        height: 100px;
        background-color: pink;
      }
    </style>
  </head>
  <body>
    <button id="btn200">200</button>
    <button id="btn400">400</button>
    <button id="btn800">800</button>
    <hr />
    <div class="box"></div>
    <script>
      function $(selector) {
        return document.querySelector(selector);
      }
      function $$(selector) {
        return document.querySelectorAll(selector);
      }

      var div = $(".box");

      $("#btn200").onclick = function () {
        var timer = setInterval(function () {
          if (div.offsetLeft >= 200) {
            // 停止动画 本质是停止定时器
            return clearInterval(timer);
          }
          div.style.left = div.offsetLeft + 10 + "px";
        }, 30);
      };

      $("#btn400").onclick = function () {
        var timer = setInterval(function () {
          if (div.offsetLeft >= 400) {
            // 停止动画 本质是停止定时器
            return clearInterval(timer);
          }
          div.style.left = div.offsetLeft + 10 + "px";
        }, 30);
      };

      var timer;
      $("#btn800").onclick = function () {
        // 先清除定时器
        clearInterval(timer);
        timer = setInterval(function () {
          if (div.offsetLeft >= 800) {
            // 停止动画 本质是停止定时器
            return clearInterval(timer);
          }
          div.style.left = div.offsetLeft + 10 + "px";
        }, 30);
      };
    </script>
  </body>
</html>
